iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 20
0
自我挑戰組

機器學習入門系列 第 20

ML_Day20(KNN與K-Means差異)

  • 分享至 

  • xImage
  •  

簡單回顧
關於兩者更詳細的介紹可以參考ML_Day18(K-Means)ML_Day19(KNN(懶惰學習)),這邊做一下整理,歸納出兩者的差異性,不然光看兩個名字都有個K,不知道什麼時候該用哪一個。

KNN

  • 分類
  • 監督式學習
  • 不需要學習(不去學習一個判別式函數(損失函數)而是要記住整個訓練集)
  • 在範圍內與旁邊的鄰居進行比較,並以這幾個鄰居(訓練樣本)中出現最多的分類標籤作為最終新樣本數據的預測標籤

K-Means

  • 分群
  • 非監督式學習(沒有label的資料)
  • 需要訓練
  • 比較主觀作分類,由人決定k值,目測要分成幾類

相同及相異的地方

  • 相同:都是透過一個中心的點,由旁邊的點再去做分析(並不完全相同)
  • 相異:兩種算法之間的最大區別是,K-means本質上是無監督學習,而KNN是監督學習;K-means是聚類算法,KNN是分類(或回歸)算法。K-means算法把一個數據集分割成cluster,每個cluster裡的點相互靠近,必須一直計算改變 cluster centroid,就好像班上的核心人物一直在改變。KNN算法嘗試基於其k(可以是任何數目)個周圍鄰居來對未標記的觀察進行分類。它也被稱為懶惰學習法,因為它涉及最小的模型訓練。所以k對整個模型非常重要。

下面兩張圖是K-Means的過程:
https://ithelp.ithome.com.tw/upload/images/20191002/20116157LiRSwZ6nBh.png
https://ithelp.ithome.com.tw/upload/images/20191002/20116157lTVZcZP1wV.png

下面這張圖是KNN的過程:
https://ithelp.ithome.com.tw/upload/images/20191002/20116157KvRZkDJtS4.png


上一篇
ML_Day19(KNN(懶惰學習))
下一篇
ML_Day21(PCA降維)
系列文
機器學習入門28
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言